草庐IT

聊聊 Spring 容器启动流程

全部标签

ruby - 如何从 rake 任务启动 IRB 控制台?

我正在尝试编写一个rake任务来设置一个镜像我的项目的环境。task:environmentdorequire'rubygems'require'sequel'#require'my_projects_special_files'endtask:foo=>[:environment]dorequire'irb'IRB.startend导致irb提示“foo”不存在(任务名称)10:28:01:irb_test>>rakefoo--trace(in/Users/mwlang/projects/personal/rake/irb_test)**Invokefoo(first_time)**

ruby-on-rails - 在 ubuntu 服务器启动时启动 unicorn 应用程序服务器

我正在使用ruby​​企业版运行我的Rails应用程序,并将unicorn作为应用程序服务器。我运行这个命令bundleexecunicorn-D-c/home/ubuntu/apps/st/config/unicorn.rb我需要在系统重启或启动后立即运行此命令。我在ubuntu10.04LTSEC2实例上运行应用程序。我尝试了几个提到的例子onthissite还有asthissite但它对我不起作用。任何提醒 最佳答案 作为Upstart尝试一下。为此,您需要在目录/etc/init/中创建一个myapp.conf文件,其内容如

ruby - 如何将数据通过管道传输到通过标准输入上的 Net::SSH 启动的进程?

我正在本地机器上生成数据源,我想通过Net::SSH将其传输到远程进程。有点像echofoosball|sed's/foo/bar/g'只是echofoosball部分将是本地计算机上的数据馈送。我不要找的是:data="foosball"ssh.exec!("echo#{data}|sed's/foo/bar/g'")我真的想要实时将数据流传输到流程中;) 最佳答案 好吧,我明白了:#!/usr/bin/envrubyrequire'rubygems'require'net/ssh'res=""c=Net::SSH.start("

ruby-on-rails - "bundle exec spring"不与 rbenv 一起工作?

为什么bundleexecspring不起作用?我已经在调用bundleexec并返回错误。我可以一直调用bundleexec。(这是可能重复问题的解决方案)。我不会通过bundleupdatespring更新我的Gemfile或卸载一个版本的spring来完成这项工作。我不应该被迫更改我的gem安装。bundlebinstubsspring也不工作。steve-air:finalcloudmain$spring-vSpringversion1.3.5steve-air:finalcloudmain$bundleexecspring-vSpringversion1.3.4steve-a

css - sass --watch 在初始启动后不更新 (sass 3.1.16)

我正在使用sass为我正在开发的一个简单的静态网站编写css。我运行了sass--watchcustom.scss:custom.css,它在启动时编译良好,并显示消息:Sassiswatchingforchanges.PressCtrl-Ctostop.overwritecustom.css但是,每当我更新.scss文件时,什么也没有发生。我以前没有在Rails应用程序的上下文之外使用过SASS,所以我想知道我是否遗漏了什么?我的scss文件也非常简单,所以我怀疑它有什么问题,特别是因为它在第一次运行时就可以工作。sass-v报告Sass3.1.16(BrainyBetty),在Li

ruby - 如何从 ruby​​ 脚本并行启动多个 rake

我有一个ruby​​脚本,我想从中启动4个并行运行的rake任务。我该怎么做?我想我需要fork并分离一个进程,但我需要确切的语法。 最佳答案 最好让Rake处理并行性。您可以使用“多任务”来做到这一点。在Rakefile中:desc"Starteverything."multitask:start=>['mongodb:start','haystack:start']Backgroundandsource.否则,假设您是从Rakefile外部执行此操作,您可以使用像这样的可怕代码,它不会像您预期的那样抛出异常,并且很容易以多种方式

ruby-on-rails - 没有 Spring 的 Rails runner

我在ubuntu设置上安装了rails4.2+sidekiq,我每小时都会用cron开始我的工作,比如bin/railsrunner-eproduction'MyJob.perform_later'这基本上是接受一份工作并将数据放入redis,这样sidekiq就可以接受它并从那里开始。但是每次我这样做时,我都会遇到这个spring进程卡住并等待某些东西(消耗内存)psaux|grepspringrootSl07:130:00springserver|myapp|started6secsagorootSsl07:130:03springapp|myapp|started6secsago

ruby - 启动没有前缀 "Ruby"的 Ruby

我正在使用OSX(使用bash),并且是unix的新手。我想知道是否可以修改一些文件以便运行ruby​​程序,我不需要“rubyfile.rb”,而是可以运行“ruby.rb”。有理由不这样做吗?谢谢! 最佳答案 是的,你可以做到这一点。假设ruby.rb里面有这样的东西:#!/usr/bin/envrubyputs'Helloworld'在命令行:chmod+xruby​​.rb这使其可执行。然后你可以这样执行:./ruby.rb有关详细信息,请参阅wikibooks.编辑(JörgWMittag):使用#!/usr/bin/en

ruby-on-rails - 为什么一个空的 Rails 进程每次启动时都会有不同的内存占用?

我们一直在努力找出如何通过识别内存消耗大的gem并寻找替代方案或解决方案来减少我们的Rails应用程序的启动内存占用量。但在OSX上有一种行为令我感到莫名其妙。使用全新生成的Rails应用程序(railsnewmemoryusage),没有Gemfile,没有模型,没有数据,也没有事务,启动railsc时内存每次启动时,对应的ruby​​进程的OSX显示都会有所不同,从低至60MB到高至65MB,没有明显的模式说明为什么同一个应用程序每次执行可能需要更少或更多的内存。我想这在某种程度上与Ruby分配内存的方式有关,但我不完全清楚为什么对于相同的代码且没有变量处理,它的内存分配会变化如此

ruby-on-rails - 启动或确保延迟作业在应用程序/服务器重新启动时运行

我们必须使用delayed_job(或其他一些后台作业处理器)在后台运行作业,但我们不允许更改服务器上的启动脚本/启动级别。这意味着如果提供程序重新启动服务器,则不能保证守护进程保持可用(因为守护进程将由每次部署仅运行一次的capistrano配方启动)。目前,我能想到的确保delayed_job守护进程始终运行的最佳方法是向我们的Rails应用程序添加一个初始化程序,以检查守护进程是否正在运行。如果它没有运行,那么初始化器会启动守护进程,否则,它就让它保持运行。因此,问题是我们如何检测Delayed_Job守护程序是否在脚本内部运行?(我们应该能够很容易地启动一个守护进程,但我不知道